package dao;

import javax.ejb.Local;
import java.util.List;
import java.util.Map;

@Local
public interface DataAccess {

    <T> T find(Class<T> type, Object id);

    <T> T add(T entity);

    <T> T alter(T entity);

    <T> void remove(Class<T> type, Object id);

    <T> List<T> findAll(Class<T> type);

    <T> List<T> findByCriteria(Class<T> type, Map<String, Object> params);

}
